'''
Created on 14/06/2011

@author: dolalima
'''
import socket

<<<<<<< .mine
from Transacao import Transacao

class Maquineta():
    
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.__CarregaConfig()
        self.__transacao = None
        
        
    def Iniciar(self):
        resposta=""
        while resposta!="Sair" :
            self.__EntradaDeDados()
            self.__TransmitirDados(self.__transacao)
            print self.__transacao.getMenssagem()
            resposta = raw_input("Tecle 'Sair' ou qualque outra para repitir: ")
            
    
    def __EntradaDeDados(self):
        self.__transacao = Transacao()
        self.__transacao.setComercioCodigo(self.__codigoComercial)
        self.__transacao.setCartaoCodigo(raw_input("Entre com o codigo do cartao: "))
        self.__transacao.setValor(input("Valor da Transacao: "))
        
        
        
            
        
    def __CarregaConfig(self):
        file=open("maquineta.config")
        print "Carregando Configuracao\n "
        self.__host=self.__LimpaLinha(file.readline())
        print "host = %s" % (self.__host)
        self.__port=int(self.__LimpaLinha(file.readline()))
        print "port = %d" % (self.__port)        
        self.__codigoComercial = int(self.__LimpaLinha(file.readline()))
        print "codigo comercial = %d" % (self.__codigoComercial)
        print "Dados Carregados\n"
        
    def __LimpaLinha(self,linha):
        linha = linha.replace("/n","")
        linha = linha.split("=")
        return linha[1]
    
    def __TransmitirDados(self,transacao):
        self.socket.connect((self.__host,self.__port))
        
        self.socket.send(transacao.getDataString())
        transacao.setFromString(self.socket.recv(1024))
        
        self.socket.close()
        return transacao
    
        
if __name__ == '__main__':
    main=Maquineta()
    main.Iniciar()
